').addClass("formErrorContent").html(promptText).appendTo(prompt);
var positionType=field.data("promptPosition")||options.promptPosition;
if(options.showArrow){
var arrow=$('
').addClass("formErrorArrow");
if(typeof(positionType)=='string'){
var pos=positionType.indexOf(":");
if(pos!=-1)
positionType=positionType.substring(0,pos);
}
switch (positionType){
case "bottomLeft":
case "bottomRight":
prompt.find(".formErrorContent").before(arrow);
arrow.addClass("formErrorArrowBottom").html('
');
break;
case "topLeft":
case "topRight":
arrow.html('
');
prompt.append(arrow);
break;
}}
if(options.addPromptClass)
prompt.addClass(options.addPromptClass);
var requiredOverride=field.attr('data-required-class');
if(requiredOverride!==undefined){
prompt.addClass(requiredOverride);
}else{
if(options.prettySelect){
if($('#' + field.attr('id')).next().is('select')){
var prettyOverrideClass=$('#' + field.attr('id').substr(options.usePrefix.length).substring(options.useSuffix.length)).attr('data-required-class');
if(prettyOverrideClass!==undefined){
prompt.addClass(prettyOverrideClass);
}}
}}
prompt.css({
"opacity": 0
});
if(positionType==='inline'){
prompt.addClass("inline");
if(typeof field.attr('data-prompt-target')!=='undefined'&&$('#'+field.attr('data-prompt-target')).length > 0){
prompt.appendTo($('#'+field.attr('data-prompt-target')));
}else{
field.after(prompt);
}}else{
field.before(prompt);
}
var pos=methods._calculatePosition(field, prompt, options);
prompt.css({
'position': positionType==='inline' ? 'relative':'absolute',
"top": pos.callerTopPosition,
"left": pos.callerleftPosition,
"marginTop": pos.marginTopSize,
"opacity": 0
}).data("callerField", field);
if(options.autoHidePrompt){
setTimeout(function(){
prompt.animate({
"opacity": 0
},function(){
prompt.closest('.formErrorOuter').remove();
prompt.remove();
});
}, options.autoHideDelay);
}
return prompt.animate({
"opacity": 0.87
});
},
_updatePrompt: function(field, prompt, promptText, type, ajaxed, options, noAnimation){
if(prompt){
if(typeof type!=="undefined"){
if(type=="pass")
prompt.addClass("greenPopup");
else
prompt.removeClass("greenPopup");
if(type=="load")
prompt.addClass("blackPopup");
else
prompt.removeClass("blackPopup");
}
if(ajaxed)
prompt.addClass("ajaxed");
else
prompt.removeClass("ajaxed");
prompt.find(".formErrorContent").html(promptText);
var pos=methods._calculatePosition(field, prompt, options);
var css={"top": pos.callerTopPosition,
"left": pos.callerleftPosition,
"marginTop": pos.marginTopSize};
if(noAnimation)
prompt.css(css);
else
prompt.animate(css);
}},
_closePrompt: function(field){
var prompt=methods._getPrompt(field);
if(prompt)
prompt.fadeTo("fast", 0, function(){
prompt.parent('.formErrorOuter').remove();
prompt.remove();
});
},
closePrompt: function(field){
return methods._closePrompt(field);
},
_getPrompt: function(field){
var formId=$(field).closest('form, .validationEngineContainer').attr('id');
var className=methods._getClassName(field.attr("id")) + "formError";
var match=$("." + methods._escapeExpression(className) + '.parentForm' + formId)[0];
if(match)
return $(match);
},
_escapeExpression: function (selector){
return selector.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g, "\\$1");
},
isRTL: function(field){
var $document=$(document);
var $body=$('body');
var rtl =
(field&&field.hasClass('rtl')) ||
(field&&(field.attr('dir')||'').toLowerCase()==='rtl') ||
$document.hasClass('rtl') ||
($document.attr('dir')||'').toLowerCase()==='rtl' ||
$body.hasClass('rtl') ||
($body.attr('dir')||'').toLowerCase()==='rtl';
return Boolean(rtl);
},
_calculatePosition: function (field, promptElmt, options){
var promptTopPosition, promptleftPosition, marginTopSize;
var fieldWidth=field.width();
var fieldLeft=field.position().left;
var fieldTop=field.position().top;
var fieldHeight=field.height();
var promptHeight=promptElmt.height();
promptTopPosition=promptleftPosition=0;
marginTopSize=-promptHeight;
var positionType=field.data("promptPosition")||options.promptPosition;
var shift1="";
var shift2="";
var shiftX=0;
var shiftY=0;
if(typeof(positionType)=='string'){
if(positionType.indexOf(":")!=-1){
shift1=positionType.substring(positionType.indexOf(":")+1);
positionType=positionType.substring(0,positionType.indexOf(":"));
if(shift1.indexOf(",")!=-1){
shift2=shift1.substring(shift1.indexOf(",") +1);
shift1=shift1.substring(0,shift1.indexOf(","));
shiftY=parseInt(shift2);
if(isNaN(shiftY)) shiftY=0;
};
shiftX=parseInt(shift1);
if(isNaN(shift1)) shift1=0;
};};
switch (positionType){
default:
case "topRight":
promptleftPosition +=fieldLeft + fieldWidth - 30;
promptTopPosition +=fieldTop;
break;
case "topLeft":
promptTopPosition +=fieldTop;
promptleftPosition +=fieldLeft;
break;
case "centerRight":
promptTopPosition=fieldTop+4;
marginTopSize=0;
promptleftPosition=fieldLeft + field.outerWidth(true)+5;
break;
case "centerLeft":
promptleftPosition=fieldLeft - (promptElmt.width() + 2);
promptTopPosition=fieldTop+4;
marginTopSize=0;
break;
case "bottomLeft":
promptTopPosition=fieldTop + field.height() + 5;
marginTopSize=0;
promptleftPosition=fieldLeft;
break;
case "bottomRight":
promptleftPosition=fieldLeft + fieldWidth - 30;
promptTopPosition=fieldTop + field.height() + 5;
marginTopSize=0;
break;
case "inline":
promptleftPosition=0;
promptTopPosition=0;
marginTopSize=0;
};
promptleftPosition +=shiftX;
promptTopPosition +=shiftY;
return {
"callerTopPosition": promptTopPosition + "px",
"callerleftPosition": promptleftPosition + "px",
"marginTopSize": marginTopSize + "px"
};},
_saveOptions: function(form, options){
if($.validationEngineLanguage)
var allRules=$.validationEngineLanguage.allRules;
else
$.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page");
$.validationEngine.defaults.allrules=allRules;
var userOptions=$.extend(true,{},$.validationEngine.defaults,options);
form.data('jqv', userOptions);
return userOptions;
},
_getClassName: function(className){
if(className)
return className.replace(/:/g, "_").replace(/\./g, "_");
},
_jqSelector: function(str){
return str.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
},
_condRequired: function(field, rules, i, options){
var idx, dependingField;
for(idx=(i + 1); idx < rules.length; idx++){
dependingField=jQuery("#" + rules[idx]).first();
if(dependingField.length&&methods._required(dependingField, ["required"], 0, options, true)==undefined){
return methods._required(field, ["required"], 0, options);
}}
},
_submitButtonClick: function(event){
var button=$(this);
var form=button.closest('form, .validationEngineContainer');
form.data("jqv_submitButton", button.attr("id"));
}};
$.fn.validationEngine=function(method){
var form=$(this);
if(!form[0]) return form;
if(typeof(method)=='string'&&method.charAt(0)!='_'&&methods[method]){
if(method!="showPrompt"&&method!="hide"&&method!="hideAll")
methods.init.apply(form);
return methods[method].apply(form, Array.prototype.slice.call(arguments, 1));
}else if(typeof method=='object'||!method){
methods.init.apply(form, arguments);
return methods.attach.apply(form);
}else{
$.error('Method ' + method + ' does not exist in jQuery.validationEngine');
}};
$.validationEngine={fieldIdCounter: 0,defaults:{
validationEventTrigger: "blur",
scroll: true,
focusFirstField:true,
showPrompts: true,
validateNonVisibleFields: false,
promptPosition: "topRight",
bindMethod:"bind",
inlineAjax: false,
ajaxFormValidation: false,
ajaxFormValidationURL: false,
ajaxFormValidationMethod: 'get',
onAjaxFormComplete: $.noop,
onBeforeAjaxFormValidation: $.noop,
onValidationComplete: false,
doNotShowAllErrosOnSubmit: false,
custom_error_messages:{},
binded: true,
showArrow: true,
isError: false,
maxErrorsPerField: false,
ajaxValidCache: {},
autoPositionUpdate: false,
InvalidFields: [],
onFieldSuccess: false,
onFieldFailure: false,
onSuccess: false,
onFailure: false,
validateAttribute: "class",
addSuccessCssClassToField: "",
addFailureCssClassToField: "",
autoHidePrompt: false,
autoHideDelay: 10000,
fadeDuration: 0.3,
prettySelect: false,
addPromptClass:"",
usePrefix: "",
useSuffix: "",
showOneMessage: false
}};
$(function(){$.validationEngine.defaults.promptPosition=methods.isRTL()?'topLeft':"topRight"});
})(jQuery);
function version_compare(t,i){if(t===i)return 0;for(var a=t.split("."),n=i.split("."),l=Math.min(a.length,n.length),e=0;l>e;e++){if(parseInt(a[e])>parseInt(n[e]))return 1;if(parseInt(a[e])
n.length?1:a.length"),t("#"+l).fadeOut(),t.ajax({type:"post",url:wysijaAJAX.ajaxurl,data:wysijaAJAX,success:function(i){t("#msg-"+l).html('
'),i.result||t("#"+l).fadeIn(),t.each(i.msgs,function(i,a){t("#msg-"+l+" .allmsgs ."+i+" ul").length||t("#msg-"+l+" .allmsgs").append('
")},dataType:"jsonp"})}return!1}),t(function(){var i="centerRight";wysijaAJAX.is_rtl&&(i="centerLeft"),t("form.widget_wysija").validationEngine("attach",{promptPosition:i,scroll:!1}),t("form.widget_wysija").bind("jqv.form.validating",function(){t(this).find("input[placeholder]").each(function(){t(this).val()===t(this).attr("placeholder")&&t(this).val("")})}),t("form.widget_wysija").find("input[placeholder]").each(function(){""===t(this).val()&&t(this).val(t(this).attr("placeholder"))}),t("form.widget_wysija").bind("jqv.form.validating",function(){t(this).find("input.defaultlabels").each(function(){t(this).val()===t(this).attr("title")&&t(this).val("")})}),t("form.widget_wysija").find("input.defaultlabels").each(function(){""===t(this).val()&&t(this).val(t(this).attr("title"))})})});